home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
sound
/
mmcmp132.zip
/
MMCMP.DOC
< prev
next >
Wrap
Text File
|
1996-05-14
|
23KB
|
544 lines
MUSIC MODULE COMPRESSOR
version 1.32
User's Manual
Table of contents:
1. Introduction
2. Information on MMCMP:
2.1. Requirements
2.2. Files in this packages
2.3. Features of this version
3. Usage:
3.1. Compressing files
3.2. Decompressing files
3.3. Using MMTSR
3.3.1. Loading MMTSR
3.3.2. Enabling/Disabling
3.3.3. Removing MMTSR from memory
3.3.4. More about MMTSR
4. Some legal stuff...
5. Contacting the author
6. Where to get the latest release?
7. Closing words
<See MMUPDATE.DOC for the latest implementations!>
1. Introduction
As music modules and samples are constantly growing larger and
larger, it is essential to be able to compress those files to save
space on disk. However, files compressed using "standard" compression
utilities may be understood only by a few players and can't usually be
loaded into any conventionnal tracker for editing and composing. But
now, MMCMP offers you the possibility to do so.
MMCMP, Music Module Compressor, is a conventionnal compression utility
that compresses music files, giving approximatively the same ratio you
could expect with any popular compression utility. It is not some kind
of special sound compression like MPEG2, for example, which may give a
very gound compression ratio, but modifies the data and tends to lower
sound quality. MMCMP does not modify the original sound data, and
decompressing a compressed file (using MMUNCMP) gives back the
original, unmodified data.
Its name may suggest that it only compress "modules". In fact, this is
what it was intended for at first. However, as MMCMP was developping,
it became more flexible and could accept practically any file format.
Thus, since "instruments" file size has almost increase tenfold over
the last years, it was now more than useful to have some way to
compress them and still have access to them anytime. Actually, almost
every new version of MMCMP brings support for new sound files formats!
"Have access to them anytime." What does this really means? What's
special about MMCMP is the small TSR (Terminate and Stay Resident)
utility (MMTSR.COM) which, once loaded, will decompress the module in
the "background" when they are loaded by *ANY* player or tracker. So
you DON'T NEED TO DECOMPRESS MODULES OR SAMPLES TO PLAY THEM BACK AND
USE THEM! However, due to technical reasons, MMTSR can't compress
modules when, within a tracker, you save a module back on disk. You'll
have to do this "manually" with MMCMP.
Fortunately, this shall be soon possible, as I'm currently working
with Jeffrey Lim, the author of *Impulse Tracker*, so that IT will
include compression/decompression routines. A few trackers already
use some kind of sample compression, but as far that I know, this
shall be the first tracker (I guess) with such a reasonable
compression (ratio approximatively equal to ZIP, ARJ, LZH, etc.. and
twice or thrice faster!)
2. Information on MMCMP
2.1. Requirements:
- A 80386 based or better computer (does anybody still have something
worse????)
- around 300k of free conventionnal memory (MMCMP/MMUNCMP)
- 64 k of free exTended memory OR 64k of free exPanded memory (for
MMTSR only)
- some free space on your drive C: (for MMTSR only) to uncompress a
file (the size of a big module is enough...)
These requirements may change with future version of the program.
See the "Features" section below and the MMUPDATE.DOC file.
2.2. Files in this package:
You should have all of the following files:
MMCMP.EXE The compression utility
MMUNCMP.EXE The decompression utility
MMTSR.COM The TSR version of MMUNCMP
MMCMP.DOC This file...
MMTSR.DOC Technical information on MMTSR
MMUPDATE.DOC Information on previous, current and future releases
FILE_ID.DIZ Small description for BBS
If there's more files, don't worry, but if some of those files are
missing, please try to find an "original" version so you may benefit of
everything MMCMP has to offer you! See Section 6. Where to get the
latest release?
If you wish to distribute MMCMP, see Section 4. Some legal stuff...
2.3. Features of this version
MMCMP can actually compress modules of the following formats and
will support everything supported by the specified tracker version:
- S3M: Scream Tracker 3 module (ST3 version 3.21)
(adlib samples not supported (who cares.:]) but MMCMP supports
16 bits samples even if ST3 doesn't)
- IT: Impulse Tracker module (IT version 2.02)
- XM: Extended Module (Fast Tracker 2.06)
- MOD: Amiga MOD format (made with any good MOD tracker, except old
MODs with only 15 instruments, they are not supported yet)
MMCMP also handles samples files of the following formats...
- DigiPlayer / Scream Tracker 3 Sample file (often refered as S3I or
SMP)
- Impulse Tracker samples.
- WAV: 'Conventionnal' WAV files. WAV format being very flexible,
files may sometimes contain unsupported data (names, samples
lists, cue points, etc...). It should not cause any problem
if you try yo compress such files, but you probably won't get
an optimal compression ratio.
...as well as instrument files:
- XI: Fast Tracker 2 Extended Instrument
Thracker versions are the latest version of those trackers with which
MMCMP has been tested. Of course, MMCMP may work correctly with a
module made with newer versions of those trackers as long as modules
don't hold newly implemented features, but it is possible that MMCMP
may incorrectly handle the features that are "currently unsupported"
by those trackers. Note that a lot of other file formats (notably IFF,
PAT, and others) shall be implemented SOON! (at least, when I'll find
documentation!)
Actually, MMCMP supports only 8/16 bits mono compression. This doesn't
mean much though, because data like patterns, which aren't samples, are
compressed too, exactly like samples. It only means that, for example,
stereo samples will soon have their own compression scheme so they can
be compressed much better. However, among currently supported module
formats, none of their respective trackers actually support stereo
samples, so stereo support won't be implemented until necessary...
NOTE: If you happen to have descriptions of different file formats
headers (especially .PAT and .IFF) and are willing to give
them to me, please do it!! You'll get at least the honor to
be within theses docs, and probably more...
See section 5: Contacting the author, below in this file!!
3. Usage
3.1. Compressing Files
To compress a module, simply type at the prompt:
MMCMP filename [filename] [filename]...
"filename" may include a drive letter, a full path, as well as '*'
and '?' wildcards. You may also specify more than one filename. The
file extension must be specified. Omitting filename will show the
previous command line syntax. If you wish to interrupt the process,
press the ESC key during compression, and MMCMP will stop right after
compression is done on the currently processed file. You may also press
Ctrl-Break or Ctrl-C, which may abort compression instantly, but MMCMP
won't be able to remove temporary files. It is therefore recommended
to press ESC.
* *IMPORTANT NOTE:* *
=>> MMCMP WILL REPLACE THE ORIGINAL FILE with the compressed one unless an
error occured during the process. The new file will then have the same
name, date and time, than the original one. If an error occured while
compressing, the file will remain unchanged. If your file is "read
only", MMCMP won't be able to replace it and will save the compressed
file in a temporary file, giving you the name of this file.
3.2. Decompressing Files
To decompress a file, type at the prompt:
MMUNCMP filename [filename] [...]
The syntax follows the same rules as for MMCMP, explained above, and
decompression process may be interrupted the same way. Note that
MMUNCMP, like MMCMP will replace the compressed file by the
uncompressed one. It will also behave like MMCMP if an error occurs,
3.3. Using MMTSR
3.3.1. Loading MMTSR:
MMTSR is loaded by typing "MMTSR" at the prompt. It will allocate
64k of exPanded memory -OR- 64k of exTended memory (this amount shall
be configurable in future versions of MMTSR) and takes 2.5k of
conventionnal memory for itself. By default, MMTSR only uses expanded
memory, but if you don't have expanded memory or you want to use
extended memory, you MUST specify it on the command line:
> MMTSR xms
Load it "high" if you can, by typing "lh mmstr" at the prompt,
so it doesn't use "low" memory used by most DOS applications. Once it
is resident in memory, it will systematically decompress any file it
recognize as a MMCMP-style compressed files. Technically speaking,
every file BEGINNING with the "ziRCONia" signature WILL be
decompressed.
3.3.2. Enabling/Disabling:
MMTSR may be enabled/disabled anytime if you think it interferes with
something else in your system. To desactivate MMTSR, simply type
"MMTSR off" and to reactivate it, type "MMTSR on" at the command
prompt.
3.3.3. Removing MMTSR from memory:
Furthermore, if you want to free all the memory it uses, you may remove
it from memory by tying "MMTSR rem". However, if another utility is
running of other TSR (Terminate and Stay Resident programs) are
installed after MMTSR, it may be impossible for MMTSR to remove itself
from memory, because other programs in memory may become corrupted.
One way to resolve this problem is to load MMTSR after every other TSR.
3.3.4. More about MMTSR....
When decompressing a files, MMTSR creates a tempory file in the root
directory of drive C: (C:\_~zirc~_.tmp, but this shall be configurable
in future versions of MMTSR) This means that it will most probably
don't work correctly if some program opens more than one compressed
file at once, or if there's not enough free space on the C: drive to
store the decompressed file. Of course, a player may load more than
one file into memory, as long as a compressed file is not opened before
the previous one is closed first. Usually, trackers and players don't
open more than one module or sample at once.
Furthermore, since every compressed file is decompressed when it is
opened, program that scan every files to get their name, info, etc,
may be consequently slowed down during scanning if that program
doesn't explicitely support compressed files. As for now, only
Impulse Tracker recognize the 'header' part of compressed files and
may thus scan file as fast as if they were not compressed.
If music is playing while a file is being decompressed, some weird
things might occur with the playback, only during decompression,
depending on the player/tracker you are using. But don't worry, it
shouldn't hurt ;) This is only due to the way the computer processes
"background events", i.e, most of the time, decompressing file in
"background" and playing music in background can't be done at the same
time. Under certain circumstances, MMTSR will let the music playback
continue normally, but sometimes playback is slowed down, or paused.
This really depends on your player or tracker.
IMPORTANT:
MMTSR performs a READ ONLY decompression, i.e. any program, player,
tracker, may read any compressed module, but attempting to write into
a compressed file WHILE it is STILL open will return an error to the
program that attempted to write, like if it was a read-only file. This
prevents corruption of the compressed file since the player/tracker
sees the file as a non-compressed file. However, since players don't
write into those files and trackers usually rewrite the whole
file, there won't be any problem.
Frthermore, using MMTSR to load modules or samples which have been
compressed using a newer version of MMCMP (with new compression scheme,
i.e only adding new module format or that sort of thing doesn't change
anything here) may crash your computer. It doesn't do anything bad,
but you'll have to reboot your system. It might also not crash,
instead it will only load data in a wrong manner, and results are much
unpredictable (for example, a sample could sound like garbage). But if
you don't save and overwrite your file after it has been altered in
some ways, DATA CAN'T BE MODIFIED and will remain like it was before.
Simply use MMUNCMP to decompress it correctly.
This is all because MMTSR, being resident in memory and working in the
"background", can't interact with the user if something is wrong.
Thus, to keep MMTSR as small as possible so it doesn't take too much
memory, no check or verification is done for newly implemented
features, not supported by the current verion of MMTSR. MMTSR may also
simply refuse to decompress a file if it can't "understand" it.
Consequently, you should always use the latest version of MMTSR you
own.
A lot of work has to be done around MMTSR to improve it, and a setup
utility will probably be released soon to let the user configure
MMTSR (temporary file path, extended/expanded memory support,
etc..) Check the file MMUPDATE.DOC, and for technical stuff about
MMTSR, see MMTSR.DOC
4. Some legal stuff
I CAN'T BE HELD RESPONSIBLE FOR ANYTHING THAT COULD HAPPEN TO YOU, YOUR
MACHINE, OR WHOEVER OR WHATEVER, RESULTING FROM ANY USE OF THIS SOFTWARE. BY
USING THIS SOFTWARE, YOU ARE AUTOMATICALLY ACCEPTING THIS, AS WELL AS THE
FOLLOWING PARAGRAPH:
THIS SOFTWARE IS PROTECTED BY THE RIGHTS OF INTELLECTUAL PROPERTY. YOU MAY NOT
MODIFY ANY PART OF THIS SOFTWARE, NOR YOU MAY ADD OR REMOVE ANYTHING TO OR FROM
ANY OF ITS FILES. IF YOU'RE NOT A DISTRIBUTOR, YOU MAY HOWEVER FREELY
DISTRIBUTE AND COPY IT, AS LONG AS ALL FILES ARE PACKAGED OR ARCHIVED
TOGETHER AND NO FILE IS MODIFIED OR REMOVED. YOU MAY ARCHIVE OTHER FILES WITH
THIS SOFTWARE FOR ADVERTISING PURPOSE ONLY, BUT THIS SOFTWARE MUST NOT BE
INVOLVED IN ANY WAYS IN THIS ADVERTISING NOR RELATED TO ANY OTHER PRODUCT
WITHOUT MY CONSENT. YOU MAY NOT CHARGE ANYTHING FOR THIS SOFTWARE OR PARTS OF
IT. DISTRIBUTORS WHO ARE INTERESTED IN THIS SOFTWARE OR ANYBODY ELSE WHO
WISHES TO MAKE COMMERCIAL USE OF IT OR PARTS OF IT MUST GET MY WRITTEN CONSENT
FIRST.
If you wish to copy it, please archive or compress files under the
following filename:
MMCMPxyy.eee
Where 'x' and 'yy' are the version number (x.yy). For Beta releases,
use "MMCPxyyB.eee". 'eee' is simply the extension added by the
archiver. Since there's some work being done between Jeffrey Lim, the
author of Impulse Tracker, and me, you may also distribute MMCMP files
along with Impulse Tracker.
5. Contacting the author
If you wish to ask, suggest, or report something, or for any other
comment, contact me...
... via e-mail:
giassone@ift.ulaval.ca
OR Emmanuel.Giasson@ift.ulaval.ca (same thing...)
Subject: MMCMP (or whatever else you want...)
(I shall have this mail account up to april '98, and maybe
more...)
... via snail mail:
Emmanuel Giasson
158, rue Gariepy
St-Redempteur, Quebec
G6K 1M5
Canada
(this shall also still be good for a couple of years...)
... via a Canadian BBS:
Contact - OVERFLOW - (418) 659-1872. This is my local
distribution site. Simply leave me (Zirconia) a message!
(and don't forget to see what the BBS has to offer you!)
... via IRC ;)
though this 'may' not be very serious, if you happen to be on
the same 'IRC net' (don't really know its name...) look for
the nickname 'Zirconia', often on channel #quebec or #bistro
(well, as for now...). Try between 7pm and 2am, "Eastern North
American" time (-5h00 or -4h00 GMT)
If you are reporting bugs to me, please, try to be as explicit as
possible! If you wish to use my compression algorithm, ask me first,
but if you only want to get the algorithm to decompress data (well,
this may seems to be the same thing, but in fact, this is much
simpler) you may ask me (because I haven't yet included it along with
the software) or wait until it is integrated to IT. The decompression
algorithm shall be there for anybody (i.e. players/trackers
programmers) who would like to add support for compressed IT modules.
6. Where to get the latest release?
On Internet:
The best place to find MMCMP is on ftp://ftp.cdrom.com, under
the directory pub/demos/incoming/music/programs. This is where
I upload every new version of MMCMP.
NOTE: If you know about any other site that would be suitable for
this kind of utility, please tell me, and I shall make a list
of upload sites, thus giving easier and faster acces to many
people!
In Quebec, Canada:
I also upload every releases (maybe one ore two days later than
Internet) on a local BBS:
- OVERFLOW - (418) 659-1872
7. Closing words
I'm sorry if this doc contains errors or some information is missing...
please contact me if you wish to notify anything about it.
I personally conceived the compression algorithm two or three years
ago and after writing three very different versions of my program
(the third is the good one) here it is! But I haven't been really
alone, I'd like to thank:
Jeffrey Lim: For spending a lot of time trying to fix bugs in his
tracker, while bugs were within my program, (dear
MMTSR...:] ) Also helped me to spread my program all over
the world by putting my program along with his tracker
(*Impulse Tracker* of course...) Also did a LOT of
beta testing. Thanks a lot!!
Robert Pouliot (Krynos):
Told me a simple way to make MMTSR removable, from
which my 'remove' code was much inspired. And thanks
for bugs report!
Beta Testers: Nicolas Szapiel (Moonbeam / )
Nicolas Roberge (Populous / )
Samuel Cote (Balrog / KFMF)
Dominic (Mammouth)
And anyone else who uses my program, and all those who are sending me
comments, info, questions, bugs reports (...shouldn't happen ;]) !!
--> MMCMP is more a "freeware" than a "shareware" program: there's no
registered version, with enhanced features, for which you must pay
after a trail period. However, after using it for a while, you MAY pay
for it. How much? Well, I'll let you judge by yourself... Let me say
it will encourage me a LOT to spend time on MMCMP and to continue
developping new features.
I've spent many many many hours to conceive, code and debug this
utility, and I'm still working on it... but this software is meant to
please the whole planet! However, if feel happy and generous, and if
people around you feel the same way, get together to form an happy and
generous group! I know an university student who works hard to pay his
school fees that would be very happy to receive a little something in a
little envelope in his little snail-mail box :-) I will also write
your your name/nick or whatever you want (simply specify it) into a
"very kind people" list! (Why isn't there such a list yet???) And if
you have an e-mail accout, I'll send you personnaly every release of my
software. So... open your mind, feel the generous person within you,
and... ;)
Finally...
As I said in the intro, my compression algorithm shall be soon
integrated to Impulse Tracker, so watch this out!!!
DON'T FORGET TO LOOK THE MMUPDATE.DOC FILE!!!!!
Enjoy!
Zirconia a/s Emmanuel Giasson